﻿using Swimj.CommonLib.Attributes;

namespace Production.CommonLib.Models
{
    public class ProductionOrderInfoResponseDto
    {
        public int Id { get; set; }
        
        /// <summary>
        /// 工单编码
        /// </summary>
        [TableColumn(DisplayText = "工单编码")]
        public string? Code { get; set; }

        /// <summary>
        /// 工单名称
        /// </summary>
        [TableColumn(DisplayText = "工单名称")]
        public string? Name { get; set; }

        /// <summary>
        /// 工单来源
        /// </summary>
        [TableColumn(DisplayText = "工单来源")]
        public int OrderSource { get; set; }

        /// <summary>
        /// 工单状态
        /// </summary>
        [TableColumn(DisplayText = "工单状态")]
        public int OrderStatus { get; set; }

        public StandardBomInfoResponseDto StandardBom { get; set; } = new();

        /// <summary>
        /// 产品标识
        /// </summary>
        public int StandardBomId { get; set; }

        public string? StandardBomCode { get; set; }

        public string? StandardBomName { get; set; }

        /// <summary>
        /// 生产数量
        /// </summary>
        [TableColumn(DisplayText = "生产数量")]
        public decimal Quantity { get; set; }

        /// <summary>
        /// 预期时间
        /// </summary>
        [TableColumn(DisplayText = "预期时间")]
        public DateTime ExpectedTime { get; set; }

        /// <summary>
        /// 截止时间
        /// </summary>
        [TableColumn(DisplayText = "截止时间")]
        public DateTime EndTime { get; set; }

        /// <summary>
        /// 计划开始时间
        /// </summary>
        [TableColumn(DisplayText = "计划开始时间")]
        public DateTime PlanStartTime { get; set; }

        /// <summary>
        /// 计划结束时间
        /// </summary>
        [TableColumn(DisplayText = "计划结束时间")]
        public DateTime PlanEndTime { get; set; }

        /// <summary>
        /// 描述
        /// </summary>
        public string? Description { get; set; }
    }
}